package com.haixiaoke.saas.repository.mapper;

import com.haixiaoke.saas.repository.pojo.ApartmentChargeItem;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 公寓收费项目Mapper接口
 *
 * @author qixi
 * @date 2023-06-13
 */
public interface ApartmentChargeItemMapper {
    /**
     * 查询公寓收费项目
     *
     * @param itemId 公寓收费项目主键
     * @return 公寓收费项目
     */
    ApartmentChargeItem selectApartmentChargeItemByItemId(Long itemId);

    /**
     * 查询公寓收费项目列表
     *
     * @param apartmentChargeItem 公寓收费项目
     * @return 公寓收费项目集合
     */
    List<ApartmentChargeItem> selectApartmentChargeItemList(ApartmentChargeItem apartmentChargeItem);

    /**
     * 新增公寓收费项目
     *
     * @param apartmentChargeItem 公寓收费项目
     * @return 结果
     */
    int insertApartmentChargeItem(ApartmentChargeItem apartmentChargeItem);

    /**
     * 修改公寓收费项目
     *
     * @param apartmentChargeItem 公寓收费项目
     * @return 结果
     */
    int updateApartmentChargeItem(ApartmentChargeItem apartmentChargeItem);

    /**
     * 删除公寓收费项目
     *
     * @param itemId 公寓收费项目主键
     * @return 结果
     */
    int deleteApartmentChargeItemByItemId(Long itemId);

    /**
     * 批量删除公寓收费项目
     *
     * @param itemIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteApartmentChargeItemByItemIds(Long[] itemIds);

    List<ApartmentChargeItem> selectApartmentChargeItemByOrgId(@Param("orgId") Long orgId);

    int checkItemNameUnique(@Param("itemName") String itemName, @Param("orgId") Long orgId);
}
